%!TEX root = tesis-header.tex
\section{Introducción}

La industria de los videojuegos existe desde hace relativamente poco tiempo, siendo que no fue sino hasta la década de los ochenta cuando se consolidó como una industria económicamente activa. Dentro del entretenimiento, los videojuegos han superado en ganancias incluso a la industria del cine.

En México el mercado de videojuegos se limita principalmente a la venta de software importado de diversos países. La creación de videojuegos mexicanos existe, pero no puede ser comparada con el mercado mundial, siendo nuestro mercado un actor pasivo de esta actividad económica. La industria de los videojuegos seguirá creciendo en los próximos años y es muy importante tomarlo en cuenta para poder participar activamente y con productos nacionales de calidad.

Este trabajo de tesis pretende documentar el desarrollo de un videojuego partiendo de herramientas de libre acceso a todo público. El desarrollo de un software de este tipo tiene un gran valor académico, ya que requiere de conocimientos especializados en disciplinas tales como la creación de ambientes virtuales, inteligencia artificial, programación orientada a objetos, modelado de objetos en tres dimensiones, entre otras. 

\section{Resumen de Capítulos}

En el capítulo \emph{Estructura general de un videojuego} se presentarán algunas de las disciplinas que sirven de base para el desarrollo de videojuegos. Se examinarán principalmente la programación orientada a objetos, cómputo gráfico e inteligencia artificial. (Capítulo. \ref{tes:des})

En el capítulo \emph{Recursos Utilizados en este Proyecto} se describirán las técnicas utilizadas para el desarrollo de videojuegos, la integración de librerías externas de simulación de física, interfaces gráficas de usuario e inteligencia artificial. Se profundizará en el uso de OGRE 3D y las librerías específicas utilizadas en este proyecto. (Capítulo. ~\ref{tes:ant})

En el capítulo \emph{Sistema desarrollado} se mostrará el sistema desarrollado para este proyecto, describiendo el análisis de los elementos que conforman el videojuego y el motor desarrollados. (Capítulo. ~\ref{tes:sis})

\section{Planteamiento del Problema}

Las metodologías usadas en la creación de videojuegos son tan diversas que no es posible generalizar sobre esta tarea. Prácticamente cada autor o empresa dedicada a esta actividad ha desarrollado una metodología propia. 

El trabajo que se requiere para desarrollar un videojuego depende de la complejidad del mismo y de sus reglas. En los principios de esta industria los ambientes que se manejaban eran relativamente simples, sin embargo, el avance en la tecnología, la competencia derivada de la gran aceptación en el público y el ingenio de los programadores, ha hecho posible juegos con reglas y ambientes tan complejos como realidades alternativas.

El hecho de que un juego tenga cierta complejidad no lo hace necesariamente bueno para el jugador, esto depende de diversos factores como el modo de juego, el nivel de dificultad y los ambientes en los que se desarrolla. Un juego de plataformas 2D \footnote{Los juegos de plataforma se pueden identificar con el estilo de videojuego que nos presenta Mario Bros. (el plomero que salva a la princesa en desgracia.. $\ddot\smile$), que no ha cambiando en más de 20 años} no necesita de un motor de física o inteligencia artificial, su modo de juego y la dinámica de los elementos que conforman el ambiente es lo que hace a este tipo de juegos que sean tan divertidos.

Por todo lo anterior, el propósito de esta tesis, es documentar la creación de un videojuego, partiendo de herramientas que requieren que el desarrollo se realice desde niveles bajos, es decir, solo lo indispensable para la creación de un ambiente gráfico interactivo con el usuario.

El videojuego que se pretende realizar permitirá al jugador ver el juego desde dos puntos de vista, uno de tipo acción detrás del personaje principal y otro de estrategia, donde se podrán seleccionar varios personajes para ser manipulados.

\section{Justificación}
Programadores de todo el mundo se han dedicado por mucho tiempo al desarrollo de motores de videojuegos, cada uno con el objetivo de realizar juegos para un género específico. En ocasiones estos motores son reutilizados por otros equipos de desarrollo para crear juegos con características similares. Existen alternativas comerciales y de código abierto de estos motores de juegos, que se distribuyen con el fin de promover su uso o de contribuir con el proyecto.

Básicamente existen dos tipos de motores de juegos: enfocados a un tipo específico de juego y de propósito general.

\begin{itemize}
\item {\emph{\textbf Motor de juegos de propósito específico}}
Los enfocados a un género específico son fáciles de usar y permiten crear juegos con tramas complejas en tiempos relativamente cortos; los más usados son aquellos que permiten crear juegos FPS\footnote{Los juegos de acción en primera persona, también llamados First Person Shooters (FPS) en inglés, donde el jugador tiene la impresión de estar dentro del escenario virtual (que generalmente se proyecta en tres dimensiones) y tiene el mismo punto de vista que tendría de estar presente en ese escenario.}.

Para implementar un motor de este tipo, basta con implementar el API \footnote{Application programming interface (Interfaz de programación de aplicaciones)} del fabricante y crear la lógica (reglas) del juego con lenguajes basados en scripts interpretados.

\item {\emph{\textbf Motor de juegos de propósito general}}
Los motores de propósito general requieren mayor habilidad programando y pueden ser usados para crear juegos de cualquier género, incluso juegos tanto en 2D como 3D.
\end{itemize}

Este proyecto de tesis propone un motor de juegos basado en uno de propósito general simplificado, que integre características de los géneros: estrategia\footnote{Un videojuego del género estrategia militar en tiempo real contiene elementos de inteligencia y planeación, para este proyecto se usará el término estrategia para definir un juego que se desarrolla dentro de un tablero con dos equipos rivales, donde se lleva a cabo la simulación de una batalla, en la cual, el jugador ordena acciones a los miembros de un equipo: ataque, defensa y desplazamiento; omitiendo recursos, rangos, construcciones y otros elementos también relacionados con el género} y acción\footnote{Para este trabajo, un juego de acción es aquel en que se puede ver a un personaje de espaldas y el jugador es quien controla todos sus movimientos}.

La aportación de este trabajo es combinar dos géneros de juegos en el que el jugador pueda elegir cual usar, en un ambiente donde el que los personajes deben cumplir un objetivo y el jugador puede ayudar a su equipo a obtener la victoria.

\section[Objetivo]{Objetivo General}
Desarrollar un videojuego que consiste en el diseño del motor que controla las funciones principales del videojuego y la creación del ambiente virtual que contienen las escenas del videojuego. 

\section[Alcances]{Alcances y Limitaciones}
El producto final de este proyecto será el desarrollo teórico de un motor, y el esbozo de un juego creado a partir de este motor prototipo. Se definirán reglas básicas y un ambiente que permita visualizar los resultados.

El jugador será capaz de interactuar con el ambiente virtual, sin embargo, el control se limitará al movimiento de los personajes dejando para una extensión posterior el comando de órdenes y batallas entre equipos

\section{Resultados Esperados}
Al examinar las técnicas y herramientas para desarrollar videojuegos se espera documentar el proceso que se siguió con el fin de sentar un antecedente sobre el desarrollo de videojuegos.
 
El prototipo de videojuego que se espera obtener mostrará las capacidades de manejo de gráficos, simulación de un sistema físico en el ambiente virtual, control de personajes, carga de terrenos y personajes virtuales en el ambiente. 

